home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 July
/
Macworld (1999-07).dmg
/
Serious Software
/
OpenWorld demo 2.0
/
Development
/
SingleTag
/
Counter
/
Counter.h
< prev
next >
Wrap
Text File
|
1999-04-27
|
1KB
|
61 lines
#ifndef _llist
#define _llist
#include "WSAPI.h"
#include "OpenWorld_utils.h"
#include "OpenWorld_plugIn.h"
#include <string.h>
// constants
#define kMaxTimes 50 // every 50 times, write the list of counters to the disk
#define kMaxLine 1024 // max characters in a line
#define kFileName ".OpenWorld counter" // file name
/* Linked list types */
/* types */
typedef struct
{
char *page;
long value;
}obj;
typedef struct QueueEl
{
struct QueueEl *next;
obj *item;
}QueueEl;
typedef struct
{
QueueEl *first;
QueueEl *last;
long cont;
}HeadQueue;
/* macros */
#define create_queue(queue)\
{\
(queue)=(HeadQueue*)OW_NewPtr(param,sizeof(HeadQueue));\
(queue)->first=NULL;\
(queue)->last=NULL;\
(queue)->cont=0;\
}
#define destroy_queue(param,queue)\
{\
if (queue) delete_queue(param,(Ptr)queue);\
OW_DisposePtr(param,(Ptr)queue);\
queue=NULL;\
}
/* function prototypes (llist.c)*/
void add_queue(dataPtr param,HeadQueue *phq, void *item);
void delete_queue(dataPtr param,HeadQueue *phq);
obj *find_queue(HeadQueue *phq,char *tag);
/* function prototypes (counter.c)*/
void WriteListToFile(HeadQueue *list);
void my_add_queue(dataPtr param,char *s,long l);
#endif